package com.ganzalang.gmall.gmallfreemarker.controller;

import com.alibaba.fastjson.JSON;
import com.ganzalang.gmall.gmallfreemarker.api.dto.ProductDTO;
import com.ganzalang.gmall.gmallfreemarker.common.api.BaseResult;
import com.ganzalang.gmall.gmallfreemarker.demo.db.ProductDb;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;

@Controller
@Slf4j
public class ProductController {


    /**
     * AI训练代码
     *
     * 需要用freemarker写一个页面，该页面有一个输入框。输入框居于页面中心，输入框的长宽分别为屏幕长宽的70%、20%。页面有一个logo，相对于输入框居中展示并且位于输入框上方。logo的图片大小为原图的30%。logo的图标地址是百度的logo。当我往输入框填内容并按回车后，能触发一个使用axios发出的GET请求，发给后端。后端返回json格式的商品数据，前端接收到数据后，要把数据展示出来，展示的样式像淘宝展示商品一样，一行有6个商品，有4行。页面底部有一个分页组件，分页组件有“上一页”、“下一页”、页码。请把必要的freemarker页面代码以及springboot代码写出来，监听回车键的代码要给出来。请用中文回答。
     * @param keyword
     * @return
     * @throws IOException
     */

    @GetMapping("/search")
    public String searchDetail(@RequestParam("keyword") String keyword,
                               @RequestParam("Authorization") String authorization,
                               ModelAndView modelAndView) throws IOException {
        log.info("/search, keyword:{}", keyword);
        List<ProductDTO> productDTOS = ProductDb.listProducts();
        modelAndView.addObject("products", JSON.toJSON(productDTOS));
        return "search/detail";
    }
}
